2.01. iOS
iOS
★ iOS – мобильная операционная система, разработанная Apple Inc., предназначенная для работы на iPhone, iPad и iPodTouch. Она основана на той же ядерной основе, что и macOS – ядре XNU, и является частью более широкой экосистемы Apple, включающей также iPadOS, watchOS, tvOS, macOS.
Как устроена iOS?
Архитектура iOS включает в себя следующие компоненты:
- Ядро (XNU) – управляет взаимодействием с оборудованием;
- UNIX Layer (Darwin) – BSD API, процессы, файловая система, сетевые протоколы;
- UIKit / SwiftUI – фреймворки для пользовательского интерфейса;
- SpringBoard – системная оболочка (заменяет Finder);
- App Store и Sandboxing – безопасность и изоляция приложений;
- Файловая система APFS;
- Средства командной строки (в jailbroken-устройствах).
1. Ядро
★ Ядро, как и в macOS, используется гибридное – XNU, которое сочетает элементы монолитного и микроядра. Компоненты – Mach для управления памятью, IPC; BSD Subsystem для реализации UNIX API; I/O Kit, библиотека драйверов на C++.
Особенности ядра в iOS:
- Secure Virtual Memory (SVM) – защита данных в памяти;
- Address Space Layout Randomization (ASLR) – усложняет эксплойты;
- Code Signing Enforcement – запуск только подписанного кода;
- Pointer Authentication Codes (PAC) – защита указателей (на чипах A12 и выше);
- Application Sandbox – изоляция приложений друг от друга.
2. Эксклюзивность
★ Эксклюзивность. Как и в macOS, iOS выпускается только для устройств Apple, а каждый выпуск получает собственное имя и номер версии, старые версии прекращают поддержку. Следовательно, политика Apple связана с множеством ограничений, в первую очередь обоснованных безопасностью.
Процесс снятия ограничений, наложенным на устройство (в основном iOS), называют джейлбрейк (Jailbreak). Он позволяет получить root-доступ (права суперпользователя) и устанавливать неподписанные приложения, изменять системные файлы и настраивать ОС глубже, чем это разрешено по умолчанию.
Это, конечно, выполняется для установки неофициальных (и пиратских) приложений, кастомизации интерфейса, удаления предустановленных приложений, доступа к скрытым функциям. И такой процесс – нарушение лицензионного соглашения, который приведёт к юридическим проблемам, потере гарантии и поддержки, а также проблемам со стабильностью и безопасностью.
3. Среда и ключевое ПО
★ Среда и ключевое ПО, службы Графическая среда:
- SpringBoard – главный интерфейс iOS (экран с иконками);
- NotificationCenter – центр уведомлений;
- Control Center – быстрые настройки;
- Dock (на iPad) – аналог рабочего стола.
Интеграция с Apple экосистемой:
- iCloud – синхронизация данных;
- AirDrop, Handoff, Universal Clipboard;
- Find My iPhone, Find My Network.
Ключевые приложения:
- Safari, Messages, FaceTime, Photos, Notes;
- App Store – центр загрузки приложений;
- Health, Wallet, Maps, Music;
- Shortcuts – автоматизация задач.
Службы:
- launchd – система запуска и управления процессами (как в macOS);
- backboardd – управление экраном и кнопками;
- mediaserverd – работа с медиафайлами.
4. Инструменты
★ Полезные инструменты iOS
На уровне пользователя:
- Shortcuts – мощная система автоматизации;
- Files – файловый менеджер (начиная с iOS 11);
- Screen Recording – запись экрана;
- Accessibility Features – голосовое управление, увеличение, VoiceOver.
Для разработчиков и продвинутых пользователей:
- Xcode – официальная IDE Apple;
- Instruments – профилирование производительности;
- Console.app – просмотр логов;
- Simulator – тестирование приложений без устройства;
- TestFlight – бета-тестирование.
Для джейлбрейкнутых устройств имеются отдельные средства, которые позволяют получить расширенный доступ к ОС.
5. Сеть
★ Работа с сетью в iOS.
Wi-Fi и Bluetooth:
- Wi-Fi Settings – выбор сети, заблокированные сети, DNS;
- Bluetooth – подключение аксессуаров;
- Personal Hotspot – раздача интернета.
Инструменты диагностики:
- Network Link Conditioner – имитация плохого соединения (требуется установка через Xcode);
- Settings > General > About > Diagnostics & Usage;
- Wi-Fi Assist – переключение на мобильный интернет при слабом Wi-Fi.
Удалённый доступ:
- Remote Debugging – через Xcode;
- SSH (при джейлбрейке) – для низкоуровневого доступа.
6. Запуск iOS на Windows, Linux, macOS
Запустить iOS как полноценную ОС на обычном ПК невозможно из-за привязки к Apple-аппаратуре, но существуют способы её эмуляции и тестирования – Xcode Simulator на macOS, iPadian, Corellium, VirtualBox / QEMU на других ОС.